//
//  HMVisitorTableViewController.swift
//  Weibo22
//
//  Created by Apple on 16/12/1.
//  Copyright © 2016年 Apple. All rights reserved.
//

import UIKit
//  访客视图控制器
class HMVisitorTableViewController: UITableViewController {
    
    //  是否登陆的标记
    var isLogin: Bool = HMUserAccountViewModel.sharedUserAccount.isLogin
    
    //  访客视图
    var visitorView: HMVisitorView?
    
    //  自定义视图需要重写loadView
    override func loadView() {
        
        if isLogin == false {
            //  未登录 -> 自定义的访客视图
            visitorView = HMVisitorView()
            //  设置代理对象
            visitorView?.delegate = self
            
            //  设置闭包 使用self注意循环引用
            visitorView?.callBack = { [weak self] in
                //
               
                print("我是闭包调用过来的")
                self?.requestOAuth()
            }
            
            //  设置自定义的视图
            view = visitorView
            //  未登录情况况下设置导航栏按钮
            setupNavUI()
            
        } else {
            //  登陆
            super.loadView()
        }
        
        
        
    }
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
    
    
    
    
    private func setupNavUI() {
        
        //  重点
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", target: self, action: #selector(registerButtonAction))
        
        //  重点
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", target: self, action: #selector(loginButtonAction))
        
        
    }
    
    //  MARK: -- 登陆和注册处理逻辑
    
    @objc private func registerButtonAction() {
        
        print("注册")
        requestOAuth()
    }
    
    @objc private func loginButtonAction() {
        
        print("登陆")
        requestOAuth()
    }
    
    //  请求第三方登陆
    private func requestOAuth() {
        let oAuth = HMOAuthViewController()
        let nav = HMNavigationController(rootViewController: oAuth)
        present(nav, animated: true, completion: nil)
    }
    
    
}

//  MARK: -- HMVisitorViewDelegate
extension HMVisitorTableViewController: HMVisitorViewDelegate {
    //  实现代理方法
    func loginOperation() {
        print("我是代理对象调用过来的")
    }

}


